地址变换大题

十进制
- 页号 =
- 页内偏移量 = 逻辑地址 % 页面长度
- 物理地址 = 页面始址 + 页内偏移量
例题
某作业的逻辑地址空间为 4 页(每页 2048 字节),页面影映像表如下表所示,求出逻辑地址 4865 所对应的物理地址。
| 页号 | 块号 |
|---|---|
| 0 | 2 |
| 1 | 4 |
| 2 | 6 |
| 3 | 8 |
解法
页号 = 4865 / 2048 = 2
2 对应的物理块号是 6
页内偏移量 = 4865 % 2048 = 769
所以物理地址是 6 × 2048 + 769 = 13057
二进制例题
例 1:页表内容 0~7 依次为 03; 07; 0B; 11; 1A; 1D; 20; 22。计算页面大小为 1K 和 4K 时的逻辑地址 134D,需要转换为对应的物理地址。
解:
134D 转换为二进制:0001 0011 0100 1101
当 1K 时,也就是 0001 00 | 11 0100 1101。
把 000100 转化为十进制,也就是 4,4 对应着 1A,而 1A 的二进制数是:01 1010,那这个替换成上面的位数,也就是 01 1010|11 0100 1101,转换为十六进制,所以就是 6B4D。
当 4K 时,也就是 0001 | 0011 0100 1101。
把 0001 转换为十进制,也就是 1,对应着 07。把 07 转换为二进制,也就是: 0111,替换成上面的位数,也就是 0001 | 11 0100 1101,转换为十六进制,也就是 734D。
所以结果分别是 6B4DH 和 734DH。
不含快表的地址变换图

含快表的地址变换图

求内存访问时间

例 2:磁盘块的大小为 1K,对于 540M 的硬盘,其文件分配表 FAT 需要占用多少存储空间?当硬盘容量为 1.2 G,FAT 需要占用多少空间?
对于 540M,用
由于 512K < 540K < 1024K,所以我们取 1024K,也就是
8 位是一个字节,所以 20 位是 2.5 个字节。
FAT 表每个表目是 2.5 个字节,总共需要 540 个表目,所以就算
对于 1.2G,用
由于 1M<1.2M<2M,所以我们取 2M,也就是
8 位是一个字节,所以 21 位是 2.625 个字节。但必须是半字节的整数倍,所以是 3 个字节。 所以就是